import { AccountInfo } from '../config/AccountInfo';
export class Constants {
    static readonly AUTH_ROUTE = 'pages/Auth';
    static readonly FUNCTION_ROUTE = 'pages/CloudFunction';
    static readonly DB_ROUTE = 'pages/CloudDb';
    static readonly STORAGE_ROUTE = 'pages/CloudStorage';
    static readonly PERCENT_25 = '25%';
    static readonly PERCENT_50 = '50%';
    static readonly PERCENT_70 = '70%';
    static readonly PERCENT_75 = '75%';
    static readonly PERCENT_90 = '90%';
    static readonly PERCENT_96 = '96%';
    static readonly PERCENT_100 = '100%';
    static readonly VIEWPORT_50 = '50vp';
    static readonly LENGTH_1_PX = 1;
    static readonly LENGTH_2_PX = 2;
    static readonly LENGTH_3_PX = 3;
    static readonly LENGTH_5_PX = 5;
    static readonly LENGTH_6_PX = 6;
    static readonly LENGTH_8_PX = 8;
    static readonly LENGTH_10_PX = 10;
    static readonly LENGTH_15_PX = 15;
    static readonly LENGTH_20_PX = 20;
    static readonly LENGTH_30_PX = 30;
    static readonly LENGTH_40_PX = 40;
    static readonly LENGTH_70_PX = 70;
    static readonly LENGTH_250_PX = 250;
    static readonly LENGTH_100_PX = 100;
    static readonly LENGTH_150_PX = 150;
    static readonly LENGTH_160_PX = 160;
    static readonly LENGTH_180_PX = 180;
    static readonly BORDER_RADIUS_4_PX = 4;
    static readonly DB_INSERT_ROUTE = 'pages/DbInsert';
    static readonly HEIGHT_50VP = '50vp';
    static readonly WIDTH_25_P = '25%';
    static readonly WIDTH_50 = '50%';
    static readonly WIDTH_70_P = '70%';
    static readonly WIDTH_75_P = '75%';
    static readonly WIDTH_90 = '90%';
    static readonly FULL_WIDTH = '100%';
    static readonly WIDTH_20 = 20;
    static readonly WIDTH_70 = 70;
    static readonly WIDTH_250 = 250;
    static readonly HEIGHT_100 = 100;
    static readonly HEIGHT_150 = 150;
    static readonly HEIGHT_160 = 160;
    static readonly HEIGHT_180 = 180;
    static readonly HEIGHT_40 = 40;
    static readonly HEIGHT_24 = 24;
    static readonly HEIGHT_90 = '90%';
    static readonly FULL_HEIGHT = '100%';
    static readonly HEIGHT_50 = '50%';
    static readonly MP_5 = 5;
    static readonly MP_10 = 10;
    static readonly MP_15 = 15;
    static readonly MP_20 = 20;
    static readonly MP_30 = 30;
    static readonly BORDER_WIDTH = 1;
    static readonly WEIGHT_1 = 1;
    static readonly WEIGHT_2 = 2;
    static readonly WEIGHT_3 = 3;
    static readonly MAX_LENGTH_6 = 6;
    static readonly CHECKBOX_WIDTH = 8;

    /**
     * Tab size in page.
     */
    static readonly TAG: string = 'CheckIn';

    static USER_ID : string = '';

    static account : AccountInfo = new AccountInfo();

    static accountUpdate : boolean = false;

    static kvStore;
    /**
     * Tab size in page.
     */
    static readonly TAB_SIZE: number = 2;

    /**
     * Tab weight of page.
     */
    static readonly TABS_WEIGHT: number = 1;

    /**
     * List size of detail page.
     */
    static readonly DETAIL_LIST_SIZE: number = 2;

    /**
     * Title param in routing.
     */
    static readonly ROUTER_PARAMS_TITLE: string = 'title';

    /**
     * Title param in routing.
     */
    static readonly ROUTER_PARAMS_INDEX: string = 'index';

    /**
     * Title param in routing.
     */
    static readonly ROUTER_PARAMS_KEY: string = 'key';

    /**
     * Url param in routing.
     */
    static readonly DETAIL_ROUTER_URL: string = 'pages/DetailPage';
    /**
     * Url param in routing.
     */
    static readonly CHECK_IN_DETAIL_URL: string = 'pages/check_in/CheckInDetailPage';
    /**
     * Url param in routing.
     */
    static readonly CHECK_IN_LIST_URL: string = 'pages/check_in/CheckInListPage';
    /**
     * Url param in routing.
     */
    static readonly CHECK_IN_ADD_URL: string = 'pages/check_in/CheckInAddPage';
    /**
     * Url param in routing.
     */
    static readonly LOGIN_REGISTER_URL: string = 'pages/account/LoginRegisterPage';
    /**
     * Url param in routing.
     */
    static readonly ACCOUNT_URL: string = 'pages/account/AccountPage';
    /**
     * Url param in routing.
     */
    static readonly EXCHANGE_GIFT_ADD_URL: string = 'pages/gift/ExchangeGiftAddPage';
    /**
     * Url param in routing.
     */
    static readonly LAW_URL: string = 'pages/LawPage';
    /**
     * Url param in routing.
     */
    static readonly INDEX_URL: string = 'pages/Index';
    /**
     * Url param in routing.
     */
    static readonly MAIN_URL: string = 'pages/MainPage';
    /**
     * Url param in routing.
     */
    static readonly BASEMODE_URL: string = 'pages/BaseModePage';

    /**
     * Detail page width.
     */
    static readonly DETAIL_PAGE_WIDTH_PERCENT: string = '100%';

    /**
     * Detail page height.
     */
    static readonly DETAIL_PAGE_HEIGHT_PERCENT: string = '100%';

    /**
     * Card content border radius.
     */
    static readonly BORDER_RADIUS: number = 24;

    /**
     * Rect radius value.
     */
    static readonly RECT_RADIUS_TOP_VALUE: Array<Array<string>> = [['24vp', '24vp'], ['24vp', '24vp']];

    /**
     * Rect radius value.
     */
    static readonly RECT_RADIUS_ALL_VALUE: Array<Array<string>> = [['24vp', '24vp'], ['24vp', '24vp'], ['24vp', '24vp'], ['24vp', '24vp']];

    /**
     * Rect radius value.
     */
    static readonly RECT_RADIUS_BOTTOM_VALUE: Array<Array<string>> = [['0', '0'], ['0', '0'], ['24vp', '24vp'], ['24vp', '24vp']];

    /**
     * The title font weight.
     */
    static readonly TITLE_FONT_WEIGHT: number = 500;

    /**
     * List title font weight.
     */
    static readonly CARD_ITEM_FONT_WEIGHT: number = 500;

    /**
     * Repeat times of list item.
     */
    static readonly REPEAT_TIMES: number = 3;

    /**
     * Breakpoint xs.
     */
    static readonly BREAK_POINT_XS: string = 'xs';

    /**
     * Breakpoint sm.
     */
    static readonly BREAK_POINT_SM: string = 'sm';

    /**
     * Breakpoint md.
     */
    static readonly BREAK_POINT_MD: string = 'md';

    /**
     * Breakpoint lg.
     */
    static readonly BREAK_POINT_LG: string = 'lg';

    /**
     * The break point value.
     */
    static readonly BREAK_POINTS_VALUE: Array<string> = ['320vp', '600vp', '840vp'];

    /**
     * Media query max height.
     */
    static readonly MEDIA_MAX_HEIGHT: string = '360vp';

    /**
     * The number of columns for SM device.
     */
    static readonly COLUMN_SM: number = 4;

    /**
     * The number of columns for MD device.
     */
    static readonly COLUMN_MD: number = 8;

    /**
     * The number of columns for LG device.
     */
    static readonly COLUMN_LG: number = 12;

    /**
     * The number of span for SM device.
     */
    static readonly SPAN_SM: number = 4;

    /**
     * The number of span for MD device.
     */
    static readonly SPAN_MD: number = 8;

    /**
     * The number of span for MD device on the details page.
     */
    static readonly DETAIL_SPAN_MD: number = 6;

    /**
     * The number of span in stack component for MD device.
     */
    static readonly SPAN_MD_MEDIA_STACK: number = 3;

    /**
     * The number of span in list component for MD device.
     */
    static readonly SPAN_MD_MEDIA_LIST: number = 5;

    /**
     * The number of span for LG device.
     */
    static readonly SPAN_LG: number = 8;

    /**
     * The number of offset in stack component for MD device.
     */
    static readonly OFFSET_LG_STACK: number = 2;

    /**
     * The number of offset in list component for MD device.
     */
    static readonly OFFSET_MD_LIST: number = 4;

    /**
     * The number of offset for MD device on the details page.
     */
    static readonly DETAIL_OFFSET_MD: number = 1;

    /**
     * The number of offset for LG device on the details page.
     */
    static readonly DETAIL_OFFSET_LG: number = 2;

    /**
     * Full width percent.
     */
    static readonly FULL_WIDTH_PERCENT: string = '100%';

    /**
     * Widget height of list item.
     */
    static readonly WIDGET_HEIGHT_PERCENT: string = '100%';

    /**
     * Card content scroll width.
     */
    static readonly SCROLL_WIDTH_PERCENT: string = '100%';

    /**
     * Card content scroll height.
     */
    static readonly SCROLL_HEIGHT_PERCENT: string = '100%';

    /**
     * Card content rect width.
     */
    static readonly RECT_WIDTH_PERCENT: string = '100%';

    /**
     * List item row width.
     */
    static readonly ROW_WIDTH_PERCENT: string = '100%';

    /**
     * Tab bar width.
     */
    static readonly TAB_BAR_WIDTH_PERCENT: string = '100%';

    /**
     * List width.
     */
    static readonly LIST_WIDTH_PERCENT: string = '100%';

    /**
     * List height.
     */
    static readonly LIST_HEIGHT_PERCENT: string = '100%';

    /**
     * Tab bar height.
     */
    static readonly TAB_BAR_HEIGHT_PERCENT: string = '100%';

    /**
     * Tab height.
     */
    static readonly TAB_HEIGHT_PERCENT: string = '50%';

    /**
     * Tab height.
     */
    static readonly LIST_DETAIL_PERCENT: string = '72%';

    /**
     * List width.
     */
    static readonly LIST_MAX_HEIGHT: string = '90%';

    /**
     * 当前打卡数据最大键值，用于新建打卡数据使用
     */
    static CHECK_IN_CURRENT_MAX_ID: number = 0;

    static isStringEmpty(value: string) {
        return value === undefined || value === null || value === '';
    }
}